$(function(){
	// 根据窗口调整表格高度
    $(window).resize(function() {
        $('#mytab').bootstrapTable('resetView', {
            height: tableHeight()
        })
    })
    // 生成用户数据
    $('#mytab').bootstrapTable({
    	method: 'post',
    	contentType: "application/x-www-form-urlencoded",
    	url:"/getalluser",
    	height:tableHeight(),// 高度调整
    	toolbar: '#toolbar',
    	striped: true, // 是否显示行间隔色
    	dataField: "res",
    	pagination:true,// 是否分页
    	queryParamsType:'limit',
    	queryParams:queryParams,
    	sidePagination:'server',
    	pageSize:10,// 单页记录数
    	pageList:[5,10,20,30],// 分页步进值
    	showRefresh:true,// 刷新按钮
    	showColumns:true,
    	clickToSelect: true,// 是否启用点击选中行
    	toolbarAlign:'right',
    	buttonsAlign:'right',// 按钮对齐方式
    	toolbar:'#toolbar',// 指定工作栏
    	columns:[
        	{
        		title:'全选',
        		field:'select',
        		checkbox:true,
        		width:25,
        		align:'center',
        		valign:'middle'
        	},
        	{
        		title:'ID',
        		field:'id',
        		visible:false
        	},
        	{
        		title:'登录名',
        		field:'loginName',
        		sortable:true
        	},
        	{
        		title:'姓名',
        		field:'nickName',
        		sortable:true
        	},
        	{
        		title:'手机号',
        		field:'phoneNum',
        	},
        	{
        		title:'邮箱',
        		field:'email'
        	},
        	{
        		title:'注册日期',
        		field:'createTime',
        		sortable:true,
        		formatter:dateFormatter
        	},
        	{
        		title:'角色',
        		field:'sysRoles.id',
        		align:'center',
        		formatter:operateFormatter
        	}
    	],
    	locale:'zh-CN',// 中文支持,
    })
    /*
	 * 用户管理首页事件
	 */
    // 请求后台数据获取角色列表
    var roleArr=[];
    $.get('/getrole',function(result){
      var data = eval("("+result+")")
	  if(data.flag && data.res){
		  for(var i=0;i<data.res.length;i++){
			  var obj=new Object();
			  obj.ID=data.res[i].id;
			  obj.Name=data.res[i].name;
			  roleArr[i]=obj;
		  }
		  $('#editForm').bootstrapValidator({
		       	feedbackIcons: {
		               valid: 'glyphicon glyphicon-ok',
		               invalid: 'glyphicon glyphicon-remove',
		               validating: 'glyphicon glyphicon-refresh'
		           },
		           fields: {
		        	   ID:{
		        		   validators:{
		        			   notEmpty: {
		                           message: 'ID不能为空'
		                       } 
		        		   }
		        	   },
		        	   loginName: {
		                   validators: {
		                       notEmpty: {
		                           message: '登录名不能为空'
		                       }/*
								 * , stringLength:{ min:5, max:15,
								 * message:'登录名为5-10位' }
								 */
		                   }
		               },
		               nickName: {
		                   validators: {
		                       notEmpty: {
		                           message: '姓名不能为空'
		                       },
		               		stringLength:{
		               			min:2,
		               			max:10,
		               			message:'姓名为2-10位'
		               		}
		                   }
		               },
		               tel: {
		                   validators: {
		                       notEmpty: {
		                           message: '手机号不能为空'
		                       },
		                       stringLength: {
		                           min: 11,
		                           max: 11,
		                           message: '手机号必须为11位'
		                       },
		                       regexp: {
		                           regexp: /^1(3|4|5|7|8)\d{9}$/,
		                           message: '请填写正确的手机号'
		                       }
		                   }
		               },
		               email: {
		                   validators: {
		                   	notEmpty:{
		                   		message:'邮箱不能为空'
		                   	},
		                       regexp: {
		                       	regexp:/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ ,
		                           message: '无效的邮箱'
		                       }
		                   }
		               },
		               role:{
		            	   validators:{
		            		   notEmpty:{
			                   		message:'权限不能为空'
			                   	}
		            	   }
		               }
		           }
		       });
	  }else{
		  console.log('后台角色列表获取失败！');
	  }
   });
    /** 角色格式化* */
   function operateFormatter(value,row,index){
	   switch(value){
	   case 2:
		   return "<span class='label label-info label-mini'>管理员</span>";
	   case 3:
		   return "<span class='label label-warning label-mini'>普通用户</span>";
	   case 4:
		   return "<span class='label label-success label-mini'>移动用户</span>";
	   default:
		   return "数据错误";
	   }
    }
   
   /** 时间格式化* */
   function dateFormatter(date,row,index){
	   return format(date,"yyyy-mm-dd HH-mm-ss")
    }
   	

    // 请求服务数据时所传参数
    function queryParams(params){
    	return{
    		pageSize: params.limit,
    		pageIndex:params.pageNumber,
    		name:$('#search_name').val(),
    		tel:$('#search_tel').val()
    	}
    }
    // 查询按钮事件
    $('#search_btn').click(function(){
    	$('#mytab').bootstrapTable('refresh', {url: '/getalluser'});
    })
    // 删除按钮与修改按钮的出现与消失
    $('.bootstrap-table').change(function(){
    	var dataArr=$('#mytab .selected');
    	if(dataArr.length==1){
    		$('#btn_edit').css('display','block').removeClass('fadeOutRight').addClass('animated fadeInRight');
    	}else{
    		$('#btn_edit').addClass('fadeOutRight');
    		setTimeout(function(){
    			$('#btn_edit').css('display','none');
    		},400);	
    	}
    	if(dataArr.length>=1){
    		$('#btn_delete').css('display','block').removeClass('fadeOutRight').addClass('animated fadeInRight');
    	}else{
    		$('#btn_delete').addClass('fadeOutRight');
    		setTimeout(function(){
    			$('#btn_delete').css('display','none');
    		},400);	
    	}
    });
    // 修改按钮事件
    $('#btn_edit').click(function(){
    	var dataArr=$('#mytab').bootstrapTable('getSelections');
    	$('.tableBody').addClass('animated slideOutLeft');
		setTimeout(function(){
			$('.tableBody').removeClass('animated slideOutLeft').css('display','none');
		},500)
		// 获取权限列表
		$.get('/getrole',function(result){
			var data = eval("("+result+")");
			if(data.flag){
				$("#edit_role").empty();
				var option = "<option>请选择角色</option>";
				for(var i = 0;i < data.res.length;i++){
					switch(data.res[i].id){
					case 2:
						option += "<option value='"+data.res[i].id+"'>管理员</option>";
						break;
					case 3:
						option += "<option value='"+data.res[i].id+"'>普通用户</option>";
						break;
					case 4:
						option += "<option value='"+data.res[i].id+"'>移动端用户</option>";
						break;
					default:
						continue;
					}
					
				}
				$("#edit_role").append(option);
				$('#edit_role').val(dataArr[0].sysRoles.id);
			}
		});
		$('.changeBody').css('display','block');
		$('.changeBody').addClass('animated slideInRight');
		$('#edit_ID').val(dataArr[0].id);
		$('#edit_LoginName').val(dataArr[0].loginName);
		$('#edit_Name').val(dataArr[0].nickName);
		$('#edit_Tel').val(dataArr[0].phoneNum);
		$('#edit_Email').val(dataArr[0].email);
    })
    /*
	 * 用户管理修改用户页面所有事件
	 */
    // 修改页面回退按钮事件
    $('#edit_backBtn').click(function(){
    	$('.changeBody').addClass('animated slideOutLeft');
    	setTimeout(function(){
			$('.changeBody').removeClass('animated slideOutLeft').css('display','none');
		},500)
    	$('.tableBody').css('display','block').addClass('animated slideInRight'); 
    	$('#editForm').data('bootstrapValidator').resetForm(true);
    })
    // 修改页面保存按钮事件
    $('#edit_saveBtn').click(function(){
    	debugger;
    	var editFrom = $('#editForm');
    	editFrom.bootstrapValidator('validate');
    	if(editFrom.data('bootstrapValidator').isValid()){
    		 $.post("/updateUser",
				$('#editForm').serialize(),
				function(result){
    			 	var data = eval("("+result+")");
					if(data.flag==true){
						// 隐藏修改与删除按钮
						$('#btn_delete').css('display','none');
						$('#btn_edit').css('display','none');
						// 回退到人员管理主页
						$('.changeBody').addClass('animated slideOutLeft');
				    	setTimeout(function(){
							$('.changeBody').removeClass('animated slideOutLeft').css('display','none');
						},500)
				    	$('.tableBody').css('display','block').addClass('animated slideInRight'); 
				    	// 刷新人员管理主页
				    	$('#mytab').bootstrapTable('refresh', {url: '/getalluser'});
				    	// 修改页面表单重置
				    	$('#editForm').data('bootstrapValidator').resetForm(true);
					}else{
					}
			    }
    		 ) 
    	}
    })
    // 删除事件按钮
    $('#btn_delete').click(function(){
    	debugger;
    	var dataArr=$('#mytab').bootstrapTable('getSelections');
    	$('.popup_de .show_msg').text('确定要删除该用户吗?');
    	$('.popup_de').addClass('bbox');
    	$('.popup_de .btn_submit').one('click',function(){
    		var ID=[];
        	for(var i=0;i<dataArr.length;i++){
        		ID[i]=dataArr[i].id;
        	}
        	$.post("/deleuser",
        			{ids : ID},
        			function(result){
        			var data = eval("("+result+")");
        		if(data.flag==true){
        			$('.popup_de .show_msg').text('删除成功！');
					$('.popup_de .btn_cancel').css('display','none');
					$('.popup_de').addClass('bbox');
					$('.popup_de .btn_submit').one('click',function(){
						$('.popup_de').removeClass('bbox');
					})
        			$('#mytab').bootstrapTable('refresh', {url: '/getalluser'});
        		}else{
        		}
        	});
    	})
    })
    // 弹出框取消按钮事件
   　　$('.popup_de .btn_cancel').click(function(){
	   $('.popup_de').removeClass('bbox');
   　　})
    // 弹出框关闭按钮事件
     $('.popup_de .popup_close').click(function(){
	   $('.popup_de').removeClass('bbox');
   　　})
      
})
function tableHeight() {
    return $(window).height() - 300;
} 

function format(date,str){
    var mat={};
    mat.M=date.month+1;// 月份记得加1
    mat.H=date.hours;
    mat.s=date.seconds;
    mat.m=date.minutes;
    mat.Y=date.year+1900;
    mat.D=date.date;
    mat.d=date.day;// 星期几
    mat.d=check(mat.d);
    mat.H=check(mat.H);
    mat.M=check(mat.M);
    mat.D=check(mat.D);
    mat.s=check(mat.s);
    mat.m=check(mat.m);
    if(str.indexOf(":")>-1){
　　　　　mat.Y=mat.Y.toString().substr(2,2);
　　　　 return mat.Y+"/"+mat.M+"/"+mat.D+" "+mat.H+":"+mat.m+":"+mat.s;
    }
    if(str.indexOf("/")>-1){
        return mat.Y+"/"+mat.M+"/"+mat.D+" "+mat.H+"/"+mat.m+"/"+mat.s;
    }
    if(str.indexOf("-")>-1){
        return mat.Y+"-"+mat.M+"-"+mat.D+" "+mat.H+"-"+mat.m+"-"+mat.s;
    }
}
// 检查是不是两位数字，不足补全
function check(str){
    str=str.toString();
    if(str.length<2){
        str='0'+ str;
    }
    return str;
}